package com.jackchen.po;

public class Pager {

	private int totalRows; //总行数

    private int pageSize=10; //每页显示的行数

    private int currentPage; //当前页号

    private int totalPages; //总页数

    private int startRow; //当前页在数据库中的起始行
    
    public Pager(Integer totalRows1,int pageSize){
    	this.pageSize = pageSize;
    	initial(totalRows1);
    }
    
    public Pager(Integer totalRows1) {
    	initial(totalRows1);
       
    }
    
    public void firstPage() {
    	currentPage = 1;
    	startRow = 0;
    }
    
    public void previousPage() {
    	if (currentPage == 1) {
    		return;
    	}
    	currentPage--;
    	startRow = (currentPage - 1) * pageSize;
    }
    
    public void nextPage() {
    	if (currentPage < totalPages) {
    		currentPage++;
    	}
    	startRow = (currentPage - 1) * pageSize;
    }

    public void lastPage() {
    	currentPage = totalPages;
    	startRow = (currentPage - 1) * pageSize;
    }
    
    public void refresh(int _currentPage) {
    	currentPage = _currentPage;
    	if (currentPage > totalPages) {
    		lastPage();
    	}
    }
    
	public int getTotalRows() {
		return totalRows;
	}

	public void setTotalRows(int totalRows) {
		this.totalRows = totalRows;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public int getCurrentPage() {
		return currentPage;
	}

	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}

	public int getTotalPages() {
		return totalPages;
	}

	public void setTotalPages(int totalPages) {
		this.totalPages = totalPages;
	}

	public int getStartRow() {
		return startRow;
	}

	public void setStartRow(int startRow) {
		this.startRow = startRow;
	}
    
	private void initial(Integer totalNum){
		totalRows = (int)totalNum;
        totalPages=totalRows/pageSize;
        int mod=totalRows%pageSize;
        if(mod>0){
        	totalPages++;
        }
        currentPage = 1;
        startRow = 0;
	}
    
}
